It is often desirable to establish a secure communication channel between two communicating parties, particularly in cases where sensitive data is to be transmitted between the parties. Many systems exist wherein a secure communication channel is required between a mobile handset and a remotely accessible server, such as an application server, so as to ensure that data communicated between the parties are transmitted in a manner that is end-to-end secure.
In the remainder of this specification the term “mobile handset” should be interpreted to include any mobile communications device capable of communicating over a communications network, such as a cellular network, and having at least a limited amount of processing power. The term should be interpreted to specifically include all mobile or cellular phones but may also include portable computers such as laptops, handheld personal computers and the like.
An increasing number of financial transactions are initiated, conducted and/or authorized using mobile handsets. Accordingly, secure communication channels are often required when sensitive data relating to such financial transactions are to be transmitted to and from the mobile handset.
Miscreants are constantly developing new techniques to intercept user and transactional data and to use these for defrauding one or more parties involved. Examples of security threats include Man-In-The-Middle (MITM) attacks, Pharming, Phishing, Over-The-Air SMS/data sniffing, third party infrastructure hijacking, Trojans, key loggers as well as various combinations of these and other threats. Using these and other methods, sensitive data such as financial information or encryption keys associated with a user or the mobile handset of the user may be obtained and used for fraudulent purposes.
A known method used in an attempt to alleviate the problems described above, is the generation of credentials having a limited validity, typically for a single use. For example, a single-use encryption key or password may be generated for securing a communication channel between a mobile handset and a remotely accessible server.
The mobile handset may be required to produce the appropriate key or password using information contained in a challenge from the remotely accessible server. For example, the remotely accessible server may transmit a challenge that includes a seed value to the mobile handset. The mobile handset uses the seed value and an incremental counter value to generate a single-use key or password for a particular communication, which can be verified by the remotely accessible server.
A problem associated with this method of securing a communication channel is that it may involve both the mobile handset and the remotely accessible server being required to possess the seed value and/or the counter value at some stage. If the mobile handset is compromised, these values may be obtained and fraudulently used, as described above.
Methods exist whereby keys or other sensitive data such as a seed and/or counter value are encrypted with a passcode and stored on the mobile handset in an encrypted format. However, the encrypted data may not be securely stored, and it may be possible that the passcode is obtained, for example by way of an exhaustive search, in order to decrypt and obtain the keys or other sensitive data.
Embodiments of the present disclosure aim to address these and other problems, at least to some extent.